System and method for profiling clients within a system for harvesting community knowledge

ABSTRACT

A privacy-preserving system and method is disclosed for profiling clients within a system for knowledge management. The method of the present invention discloses steps for generating a client profile in support of receiving and processing messages using scoring techniques and/or filtering techniques. The method of the present invention further includes steps for generating a client profile in support of a method for generating and obtaining responses to messages using scoring techniques and/or filtering techniques. The system of the present invention, includes all means for implementing the method.

CROSS-REFERENCE TO CO-PENDING APPLICATION

[0001] This application relates to and incorporates by referenceco-pending U.S. patent application Ser. No. 10/093658, entitled “SYSTEMAND METHOD FOR HARVESTING COMMUNITY KNOWLEDGE,” filed on Mar. 7, 2002,by Adar et. al. This related application is assigned to Hewlett-PackardCo. of Palo Alto, Calif.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates generally to systems and methodsfor information sharing and knowledge management, and more particularlyfor profiling clients within a system for harvesting communityknowledge.

[0004] 2. Discussion of Background Art

[0005] Satisfying information needs in a diverse, heterogeneousinformation environment is challenging. In order to even begin theprocess of finding information resources or answers to questions,individuals typically must know either where to look, or whom to ask.This is often a daunting task, especially in large enterprises wheremany of the members will not know each other, nor be aware of all theinformation resources potentially at their disposal.

[0006] Current systems for storing information and/or organizationalexpertise include Knowledge Databases (K-bases), such as documentrepositories and corporate directories, and Knowledge Managementsystems, which rely on users to explicitly describe their personalinformation, knowledge, and expertise to a centralized K-base.

[0007]FIG. 1 is a dataflow diagram of a conventional knowledgemanagement system 100. In a typical architecture, information providingusers 102 explicitly decide what descriptive information they provide toa central database 104. An information seeking user 106 then performs aquery on the central database 104 in order to find an informationprovider who perhaps may be able to answer the seeker's question.

[0008] There are several significant problems with such systems.Knowledge management systems, like that shown in FIG. 1, require thatinformation providers spend a significant amount of time and effortentering and updating their personal information on the central database104. For this reasons alone, such systems tend to have very lowparticipation rates. In addition, even those information providers, whotake time to enter and update this information, may misrepresent theirpersonal information or level of knowledge and expertise be it willfullyor not. Furthermore, they may neglect or be unable to reveal much oftheir tacit knowledge within their personal description. Tacit knowledgeis knowledge a user possesses, but which the user either does notconsider important enough to enter, or which they may not even beconsciously aware that they know.

[0009] Because of the inaccuracy and/or incompleteness of such personalinformation, information seekers, even after all of their searchingefforts, may still find their questions left unanswered, perhaps becausethe “expert” they identified may not have the bandwidth to respond.Similarly, even information seekers who discover the existence of arelevant K-base may be required to formulate queries which are socomplex that they either can not or will not bother to perform a propersearch

[0010] A second significant problem with knowledge management systems isthe information provider's lack of privacy with respect to theirpersonal information stored on the central database 104. No matter whatagreements a knowledge management system's central database 104 providerhas made with the user, the fact remains that the central database 104provider still has the user's personal information, which means thatthat personal information is out of the direct control of said user. Asa result, information providers may be unwilling to reveal much aboutthemselves in the presence of a risk that their privacy would beviolated. In such systems, the provider must pre-screen all informationto be revealed, in order to make sure that the information provided doesnot contain information which the user would not be comfortable withothers having access to. The resulting high participation costs oftenresults in profiles that are stale and lack richness.

[0011] Another problem with such systems, is their lack of anonymity.Information seekers and providers cannot remain anonymous whileperforming queries or asking questions. As such, they may not perform asearch, as a question, or wholeheartedly reveal their knowledge about aparticular topic in their response to another user's question.

[0012] All of the above problems lead to free-riding by many of thoseusing such conventional knowledge management systems. Free-riding occurswhen there are information seekers who are not also informationproviders. They benefit from the information stored on databases, but donot contribute to them. Free-riding tends to make all users worse off,since a knowledge management system's and K-base's value depends uponthe richness and fidelity of each users' contributions.

[0013] A fourth problem is cost. Conventional centralized systemsrequire the installation of additional hardware dedicated to theknowledge management system and do not make use of otherwise unutilizedresources such as the user's own personal computer.

[0014] Collaborative filtering techniques also have similar problems.Collaborative filtering is a tool for selectively presenting users withinformation recommendations based on the collective wisdom of theparticipant users. Generally these systems require users to activelymark incoming information as relevant or not relevant to theirinterests. A central system manages this information and attempts togroup individuals with similar interests (as expressed by the ratingsthey assign to pieces of information). Users who seek knowledge in arethen directed to information that members like them have indicated asrelevant. Due to their centralized nature, these systems lack manyprivacy features and require heavy active participation by individuals.For this reason collaborative filtering systems frequently do not haveaccess to rich profiles. Additionally, the information that is filteredmay not address specific information needs and the user must then wadethrough the information or perform additional searches and may stillfind no answer.

[0015] In response to the concerns discussed above, what is needed is asystem and method for profiling clients within a system for harvestingcommunity knowledge that overcomes the problems of the prior art.

SUMMARY OF THE INVENTION

[0016] The present invention is a privacy-preserving system and methodfor profiling clients within a system for knowledge management. Oneembodiment of the method of the present invention includes the steps of:accessing a predetermined set of data targets; collecting data targetinformation from the data targets; generating a client profile from thedata target information; storing the profile on a client computer;receiving a message; and scoring the message with respect to theprofile.

[0017] A second embodiment of the method of the present inventionreplaces the receiving and scoring steps with the steps of: accessing aweb page; and scoring the web page with respect to the profile.

[0018] A third embodiment of the method of the present inventionreplaces the receiving and scoring steps with the steps of: receiving ane-mail; and scoring the email with respect to the profile.

[0019] A fourth embodiment of the method of the present inventionreplaces the receiving and scoring steps with the steps of: opening afile; and scoring the file with respect to the profile.

[0020] A fifth embodiment of the method of the present inventionincludes the steps of: accessing a predetermined set of data targets;collecting data target information from the data targets; generating aclient profile from the data target information; storing the profile ona client computer; receiving a message including filtering criteria; anddisplaying the message on the computer if the filtering criteria isfound within the profile.

[0021] A sixth embodiment of the method of the present inventionincludes the steps of: generating a message; transmitting the messagefrom a sending client to a set of receiving clients; accessing apredetermined set of data targets; collecting data target informationfrom the data targets; generating a receiving client profile from thedata target information; scoring the message with respect to theprofile; and displaying the message on a receiving client's computer.

[0022] A seventh embodiment of the method of the present inventionincludes the steps of: generating a message including filteringcriteria; transmitting the message from a sending client to a set ofreceiving clients; accessing a predetermined set of data targets;collecting data target information from the data targets; generating areceiving client profile from the data target information; scoring themessage with respect to the profile; and displaying the message on thereceiving client's computer if the filtering criteria is found withinthe profile.

[0023] The system of the present invention, includes all means forimplementing the method.

[0024] These and other aspects of the invention will be recognized bythose skilled in the art upon review of the detailed description,drawings, and claims set forth below.

BRIEF DESCRIPTION OF THE DRAWINGS

[0025]FIG. 1 is a dataflow diagram of a conventional system forknowledge management;

[0026]FIG. 2 is a dataflow diagram of one embodiment of a system forprofiling clients within a system for harvesting community knowledge;

[0027]FIG. 3 is a flowchart of one embodiment of a method for harvestingcommunity knowledge;

[0028]FIG. 4 is a flowchart of one embodiment of a method for profilingclients within the method for harvesting community knowledge;

[0029]FIG. 5 is a pictorial diagram of one embodiment of a “View/EditDeclared Profile” window within the system; and

[0030]FIG. 6 is a pictorial diagram of another embodiment of a“View/Edit Declared Profile” window within the system.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0031] The present invention provides a mechanism for publicly,privately, or anonymously providing information to and harvestinginformation from a community of users and information resources. Bypreserving the privacy of users and their profiles, the presentinvention allows for the use of automatic profiling methods. Theseautomatic methods eliminate a need for community members to laboriouslymaintain their own profiles in order to efficiently participate in theknowledge community. As a result, users' profiles are a rich body ofinformation, and users do not face high participation costs. Theinvention also allows for anonymous questions and responses whichfurther provides incentives for users to participate. As a result, thepresent invention ameliorates the free-riding problem, and creates alow-cost, useful, user-friendly environment for knowledge sharing andexpertise exchange.

[0032]FIG. 2 is a dataflow diagram of one embodiment of a system 200 forharvesting community knowledge. FIG. 3 is a flowchart of one embodimentof a method 300 for harvesting community knowledge. FIGS. 2 and 3 areherein discussed together. The system 200 includes a client computer 202under the control of a user 204, and connected to a computer network206. The client 202 both sends and receives messages respectively to andfrom other client computers and information sources via the network 206.

[0033] When a client computer generates and sends a message such clientcomputer is herein alternately called a sending client, and when aclient computer receives a message, such client computer is hereinalternately called a receiving client. Preferably all client computerson the network include the same functionality, which is now describedwith respect to the client computer 202, however some receiving clientsmay not currently have the present invention's software installed.

[0034] User Profiling

[0035] User profiling by the present invention, enables the system 200to capture historical information about the user 204, as well asreal-time information as the user 204 goes about their daily digitalbusiness. This knowledge is expressed indirectly in the user's 204behavior and data stored on the client computer 202 and from the user204 and client computer 202 interactions with the network 206.

[0036] The present invention uses an observer module 208 toautomatically compile and store user profile information in a clientprofile 210. The client profile 210 is generated using systematic,objective and repeatable methods which can be adjusted and modified tosuit any number of user environments and/or information processing endgoals. Since the client profile 210 is automatically created, the user204 is relieved from the arduous task of having to manually build theirown profile. This dramatically reduces participation costs for all usersof the present invention, while ensuring that the user's profile isconstantly kept up to date.

[0037] Preferably, more than one data source or set of data items areprofiled in order to generate a multi-dimensional understanding of theuser's 204 knowledge and that the resultant user profile is of a highquality. This is because singular sources of data, such as e-mail, tendnot to fully reflect a user's interests and expertise. Also, since userprofiles are preferably generated on each user's own computer 202, nonew hardware resources need be purchased in order to implement thepresent invention.

[0038] The method 300 begins in step 302 with the observer module 208generating and maintaining the client profile 210 on the client computer202. Step 302 is now described in more detail in FIG. 4.

[0039]FIG. 4 is a flowchart of one embodiment of a method 400 forprofiling clients within the method 300 for harvesting communityknowledge. The profiling method 400 begins in step 402 wherein theobserver module 208 accesses a predetermined set of data targets forbuilding the client profile 210. The set of data targets are preferablyselected to provide a robust source of data for processing into ameaningful and versatile client profile 210. The data targets includeinformation stored on the client computer 202, information accessibleover the network 206, as well as which can be obtained by monitoring theuser's 204 activities on the computer 202 and over the network 206.

[0040] Next in step 404, the observer module 208 spawns an observersub-process for each data target in the set. Depending upon the datatarget, some of the sub-process must, in step 406, collect certainephemeral information in real-time. Such ephemeral information mayinclude temporarily cached data which is deleted after the data targetterminates operations, network traffic information, as well asinformation received by the data target, such as e-mails or messages,which the user 204 subsequently deletes before said information can bepermanently saved. However, information otherwise saved within a storageresource may be retrieved as needed, in step 408.

[0041] In step 410, the observer 208 analyzes the collected andretrieved information using data mining techniques. In step 412,structured data items within the collected and/or retrieved information,such as e-mail addresses or URLs, are stored in dedicated fields withinthe client profile 210. Unstructured data items within the collected andretrieved information, such as pure text, however are firststatistically analyzed. The statistical analysis includes, firstidentifying a set of keywords and a set of key phrases within theunstructured data items, in step 414, and then, calculating a frequencyof occurrence for each keyword and key phrase within the data item, instep 416. In step 418, the keywords, key phrases, and their respectivecalculated frequencies of occurrence are then stored in the clientprofile 210. If the keyword or key phrase already exists within theclient profile 210, their frequencies of occurrence are combined.Preferably, the unstructured data itself is not stored within the clientprofile 210. The client profile 210 data structure is preferably that ofa relational database upon which queries can be easily performed.

[0042] Thus the present invention's observer 208, by collecting,retrieving, and analyzing, information from the data targets,effectively captures the user's 204 tacit knowledge, which the user 204themselves may not even be conscious of having knowledge, expertise, oran interest in.

[0043] In step 420, the client profile 210 may at the user's 204discretion be supplemented with additional information providedexplicitly by the user 204.

[0044]FIG. 5 is a pictorial diagram 500 of one embodiment of a“View/Edit Declared Profile” window 502 within the system 200 forallowing the user 204 to supplement the client profile 210. The window502 includes a self-description field 504 for the user 204 to explicitlydescribe themselves, and input their knowledge, expertise, and interestsas a series of comma separated information strings. The user 204 mayalso add any other information which the user 204 deems relevant toother users on the network 206. A submit description button 506 adds theself-description field 504 to the client profile 210.

[0045]FIG. 6 is a pictorial diagram 600 of another embodiment of a“View/Edit Declared Profile” window 602 within the system 200. Thewindow 602 also includes a self-description field 602 and a submitdescription button 606 which function in a similar manner to theembodiment 502 described above, however, the window 602 also includes a“The last 10 emails you sent” field 608 and a “Last 10 urls you havevisited” field 610. “The last 10 emails you sent” field 608 and the“Last 10 urls you have visited” field 610 are two of the structured dataitems collected and stored by the observer module 208 according to step412 of the profile generation method 400. They are provided here for theuser's 204 benefit. The user 204 may select and delete individualentries if desired through a search/delete interface.

[0046] In order to maximize the user's 204 privacy and thereby encouragebroad user participation within the information market, the clientprofile 210 is preferably stored only on the client computer 202,however the profile 210 may also be stored remotely either in encryptedor password protected form and viewable only by the user 204. Also totoward this goal, the user 204 is also preferably given an option oferasing their client profile 210, or having the observer 208 rebuild anew client profile for the user 204. A high degree of user privacyencourages users to permit the system 200 to build very rich userprofiles which go far beyond those users would otherwise voluntarilydisclose to a central database.

[0047] The following data targets are preferably included within thepredetermined set of data targets mentioned in step 402. Specificpreferred processing techniques for each of these data targets are alsodiscussed. Those skilled in the art however will recognize that manyadditional data targets and processing techniques may also be employedand that a particular mix of data targets and processing techniqueswhich yield a best client profile may vary with the set of users andnetwork configuration to which the present invention is applied.

[0048] Message Data Targets:

[0049] Message data targets include messages routed over thepeer-to-peer 226 and central server 224 networks, as well as e-mailmessages routed over the e-mail network 222. E-mail is one of the mostfundamental and prevalent forms of communication today and as such isconsidered to be a good source of user profile information. E-mailsub-processes within the observer module 208 access the e-mail messages221 transmitted and received by the e-mail client 230 over the e-mailnetwork 222.

[0050] Structured data items from the e-mail which are preferably storedin the client profile 210 include: the email addresses, domains, andidentities for the sender and all of the recipient's; and messagetimestamps.

[0051] Unstructured e-mail data, consisting mainly of the body of ane-mail message, are processed according to the statistical techniquesdiscussed above, into keywords, key phrases, and frequencies ofoccurrence before being stored in the client profile 210.

[0052] Behavioral data preferably stored include: which e-mails ormessages the user 204 reads, stores, deletes, and/or ignores. Thosee-mails or messages which the user 204 reads or stores becomes part ofthe user's 204 “positive-profile.” Whereas those e-mails and messageswhich the user 204 either deletes or ignores becomes part of the user's204 “negative-profile.” Messages processed by either the peer-to-peer226 or central server 224 networks are similarly processed and added tothe client profile 210.

[0053] Information Browsing Data Targets:

[0054] Information browsing data targets monitored by sub-processeswithin the observer module 208 include: data a files transmitted to ordownloaded from the peer-to-peer 226 and central server 224 networks,client files 214 viewed, modified, or deleted by the user, such as wordprocessing, spreadsheet and other files; as well as web page informationrouted over the web 218 by the internet client 232 into the web pagecache 217.

[0055] Structured data items which are preferably stored in the clientprofile 210 include: URLs stored in the user's 204 bookmark and/orfavorites file; web pages visited by the user or stored in the web pagecache 217; identifying information from client files 214 accessed by theuser 204; and time and frequency of visitation to said web pages orclient files 214.

[0056] Unstructured data, consisting mainly of the body of the web pagesvisited and client files 214 accessed by the user, is also processedaccording to the statistical techniques discussed above, into keywords,key phrases, and frequencies of occurrence before being stored in theclient profile 210.

[0057] Behavioral data preferably stored include: web surfing patternsand browsing behavior.

[0058] Installed Hardware and Software Data Targets:

[0059] Installed hardware and software data targets monitored bysub-processes within the observer module 208 include the client hardware211 and software 212 installed on the computer 202. The client software212 includes the e-mail client 230 and the internet client 232.

[0060] Structured data items which are preferably stored in the clientprofile 210 include: hardware 211 device information; software 212installation and operational information, available in part fromregistry files within the computer 202; and dates of installation foreach hardware device and software process.

[0061] Behavioral data preferably stored include: user interactions withthe installed hardware 211 and software 212, such as frequency of use orreconfiguration.

[0062] Other Data Targets:

[0063] Other information sources which the observer 208 may access inorder to build the client profile 210 include: user information storedin remote enterprise directories and on the central server 224. Forexample, user information stored within a LDAP enterprise directory canbe accessed by the observer module 208 over the network 206. The userinformation stored on the LDAP server may include the user's departmentnumber, location, and other human resources information.

[0064] Message Generation

[0065] Next to be described is a system and method for generatingmessages in step 304 using the present invention. Messages are hereindefined to include a wide variety of communications known to thoseskilled in the art, including any communication seeking, sending, and/orculling information from an information market. Thus messages caninclude questions, announcements, and/or information processingroutines.

[0066] To begin, the user 204 accesses a user interface module 228. Theuser interface module 228 preferably includes a set of software modulesfor interfacing with the user 204. Such modules at a minimum include thee-mail client 230, which stores a predetermined set of e-mail messages221, and the Internet client 232, which stores information in the webpage cache 217. These two modules 230 and 232 provide the user 204 withalternate ways of using the present invention and preferably, bothcontain similar functionality, such as text windows and folders forstoring messages both sent and received.

[0067] Through the user interface module 228, the user 204 initiates themessage generating process, such as by clicking on an “Ask a Question”button in a toolbar within the user interface. In response, the userinterface module 228 displays a number of pre-defined message types tothe user 204.

[0068] After a message has been generated it is preferably assigned aglobally unique identifier and stored in a messages database 236. Aprivate-public key pair is preferably generated for each new message.The public key is then sent with the message so that a receiving clientcan encrypt their response, ensuring that only the user 204, having thecorresponding private key, can decrypt and view such response. Thisprovides a further level of security and privacy within the presentinvention.

[0069] The network module 216 periodically scans the message database236 for new messages generated by the user 204. Then in step 306, anetwork protocol module 219 formats the new message according to an XML(Extensible Markup Language) protocol for transmission by the networkmodule 216 over the network 206. Both a client computer sending themessage and a client computer receiving the message must be apprised ofthe particular XML protocol used to format the message, in order forcommunication to occur.

[0070] Preferably the peer-to-peer network 226 is limited to anenterprise's intranet so that only a predetermined set of clientcomputers on the network 206 may have an opportunity to respond to themessage. By limiting the scope of users allowed to see messages, abaseline level of confidentiality, expertise, and/or message responseintegrity may be maintained. For instance, the scope of users may belimited to only those who are employed within a particular enterprise,who belong to a particular professional society, or who are students andone or more universities. The exact scope of users will thus depend upona particular application of the present invention.

[0071] In alternate embodiments, messages may be transmitted over globale-mail and/or web networks, but in an encrypted format which againlimits the scope of users. In other embodiments, there may be no limitson the scope of users who may be given an opportunity to respond to themessages.

[0072] Message Transmission

[0073] Next in step 308, the network module 216 transmits the messageover a predetermined portion of the computer network 206. As mentionedabove, when the computer client 202 transmits a message over the network206 it is called a sending client, while when the computer client 202receives a message over the network 206 it is called a receiving client.Thus in normal operation, all client computers function as both sendingand receiving clients.

[0074] While messages transmitted over the peer-to-peer network 226achieve a high level of anonymity, many messages will likely betransmitted over the e-mail network 222 or displayed on a web 218 sitein order to advertise the present invention and thereby build-up thepeer-to-peer network 226.

[0075] However, regardless of over which network portion the message issent, each receiving client having the present invention installedstores a copy of the XML encoded message in their respective messagesdatabase.

[0076] Message Filtering and Scoring

[0077] For purpose of the discussion to follow, functionality within theclient computer 202 for processing received messages is discussed as ifthe client computer 202 was one of the receiving client computers. Sucha context switch is appropriate because preferably each client computercontains a complete and self contained version of the presentinvention's software.

[0078] Thus in step 310, the system module 234 within the clientcomputer 202 retrieves, and commands a filtering/scoring module 238 tofilter and score, newly received messages which have been stored in themessages database 236.

[0079] In order to perform filtering and scoring, the filtering/scoringmodule 238 compares the message with information stored in the user's204 client profile 210. If necessary however, the message may becompared with data stored elsewhere in the client computer 202, such asin the e-mail client 230, the e-mail messages 221, the internet client232, the web page cache 217, the client software 212, the client files214, and the client messages 236.

[0080] A received message is filtered by the filtering/scoring module238 when such message contains a predetermined set of criteria, insertedby the message sending client, in order to target selected receivingclients. Such filtering criteria is preferably very flexible and is leftat the discretion of the sending client user. For example, the filteringcriteria may look for a particular data string, or at some otherinformation within a receiving client's client profile 210.

[0081] In an alternate embodiment however, a client profile 210 whichdoes not meet the filtering criteria merely results in a low messagescore. In this way, a message which does not meet the filtering criteriadoes not automatically prevent the user 204 from seeing the message. Insuch embodiments an overall weighted average score may be generatedwhich depends upon not only all of the filtering criteria, but also themessage's score. How the message's score is generated is discussed next.

[0082] The filtering/scoring module 238 preferably scores messages usingstatistical information retrieval techniques, including linguisticanalysis. Information retrieval techniques are commonly known to be usedfor accessing and analyzing large blocks of data and then extracting allor selected portions of such data according to a wide variety ofmethods. Messages which include structured or unstructured data items,which are within the user's 204 positive-profile, tend to increase themessage's score. While messages which include structured andunstructured data items, which are within the user's 204negative-profile, tend to decrease the message's score.

[0083] Other techniques for scoring the messages are also known to thoseskilled in the art.

[0084] While the above filtering and scoring discussion assumes themessage was received over the peer-to-peer network 226, messagesreceived over the e-mail network 222 as well as by other paths withinthe network 206 are similarly filtered and scored if the receivingclient has the present invention's software installed.

[0085] For example, receiving clients who have the present invention'ssoftware already installed and have received an e-mail messagecontaining an embedded XML message, have a copy of the embedded messageplaced in their messages database 236 so that the message can befiltered and scored. Receiving clients who do not have the presentinvention's software installed, however, only see the e-mail message intheir standard e-mail inbox, and no other processing is performed.

[0086] Thus the filtering and scoring techniques of the presentinvention in combination with the rich client profiles stored on eachreceiving client's computer are together what enable messages to bebrought to the attention of the right set of users.

[0087] Such intelligently targeted messaging, however, also builds userconfidence in and reliance on the present invention. This is becauseunlike in conventional systems where users often have to wade thoughin-boxes full of junk or marginally useful email, users using thepresent invention generally know and rely on the fact that their timewill not be wasted on such unimportant messages. Instead users of thepresent invention will be even more likely to timely respond to messagesreceived because the messages will be so on-point to their expertiseand/or interests.

[0088] For example, in the past when a sending client needed to identifyappropriate participants to participate in an experiment, or submitpapers for a seminar, the user would clumsily post an advertisement on aweb or other site, and/or send out a generalized e-mail to a very largedistribution list. In such cases, targeted users often miss theimportance of or are annoyed by such communications which are buried ina sea of information they already are trying to sift through. Incontrast, the present invention automatically performs the necessarysifting so that if a user receives a message using the presentinvention, such message will be useful to them.

[0089] Message Display and Response

[0090] In step 312, the received message is displayed to the receivingclient if the message has not been filtered out and/or if the messagescore exceeds a predetermined threshold. Messages are preferablydisplayed to the receiving client according to their respective score.As discussed above, the score represents a likelihood that the receivingclient will find the message relevant to or within their expertise.

[0091] The receiving client then may select and respond to one of themessages. In step 314 a response from the receiving client is sent overthe network 206 back to the sending client anonymously or in anencrypted format. After step 314 the preferred method ends.

[0092] Processing Information From Other Sources Using The PresentInvention

[0093] While the present invention has been discussed with respect tothe generation, transmission and response to messages, the presentinventions' user profiling and scoring functionality is equallyapplicable toward processing other types of information as well. Otherinformation includes data displayed within a current web page beingviewed by the user 204. A relevance vector could be generated from saidweb page data and compared to the user's 204 expertise vector generatedfrom the client profile 210. User's would be notified of a particularrelevance of the currently viewed web page if the relevance andexpertise vectors when compared yield a score which exceeds apredetermined threshold. In this way user's browsing the web could beapprised of particular web pages which may closely align with theirinterests and/or expertise.

[0094] Other information similarly processed and scored may include:normal e-mail messages which have not been generated using the presentinventions' functionality; files downloaded from the central server 224or received from some other source; or expertise information stored on acentral enterprise database. Those skilled in the art will know of otherinformation sources to which the present invention may also besuccessfully applied.

[0095] While one or more embodiments of the present invention have beendescribed, those skilled in the art will recognize that variousmodifications may be made. Variations upon and modifications to theseembodiments are provided by the present invention, which is limited onlyby the following claims.

What is claimed is:
 1. A method for knowledge management, comprising:accessing a predetermined set of data targets; collecting data targetinformation from the data targets; generating a client profile from thedata target information; storing the profile on a client computer;receiving a message; and scoring the message with respect to theprofile.
 2. The method of claim 1 wherein the collecting elementincludes: retrieving stored data target information.
 3. The method ofclaim 1 wherein the collecting element includes: capturing real-timedata target information.
 4. The method of claim 1 wherein the accessingelement includes accessing messages.
 5. The method of claim 1 whereinthe accessing element includes accessing email.
 6. The method of claim 1wherein the accessing element includes accessing files.
 7. The method ofclaim 1 wherein the accessing element includes accessing web pages. 8.The method of claim 1 wherein the accessing element includes accessinginstalled hardware.
 9. The method of claim 1 wherein the accessingelement includes accessing installed software.
 10. The method of claim 2wherein the retrieving element includes retrieving information stored onthe client computer.
 11. The method of claim 2 wherein the retrievingelement includes retrieving information stored on a network.
 12. Themethod of claim 3 wherein the capturing element includes capturing usercommands.
 13. The method of claim 3 wherein the capturing elementincludes capturing cached data.
 14. The method of claim 1 wherein thegenerating element includes analyzing the data target information usingdata mining techniques.
 15. The method of claim 1 wherein the generatingelement includes identifying structured data items within the datatarget information.
 16. The method of claim 1 wherein the generatingelement includes generating a positive client profile.
 17. The method ofclaim 1 wherein the generating element includes generating a negativeclient profile.
 18. The method of claim 1 wherein the storing elementincludes storing the structured data items in the client profile. 19.The method of claim 1 wherein the generating element includes:identifying unstructured data items within the data target information;and performing a statistical analysis on the unstructured data.
 20. Themethod of claim 19 wherein the performing element includes: identifyinga set of keywords; and calculating a frequency of occurrence of eachkeyword within the unstructured data.
 21. The method of claim 19 whereinthe performing element includes: identifying a set of key phrases; andcalculating a frequency of occurrence of each key phrase within theunstructured data.
 22. The method of claim 19 wherein the storingelement includes storing the statistical analysis in the client profile.23. The method of claim 1 further comprising: supplementing the clientprofile with information provided explicitly by a user.
 24. The methodof claim 1 wherein the storing element includes storing the clientprofile only on the client computer.
 25. The method of claim 1 whereinthe storing element includes encrypting the client profile.
 26. Themethod of claim 1 wherein the storing element includes passwordprotecting the client profile.
 27. The method of claim 1 wherein thescoring element includes: identifying a filtering criteria within themessage; associating a first value with those filter criteria foundwithin the profile; associating a second value, which is lower than thefirst value, with those filter criteria not found within the profile;assigning a weighted percentage to the message score and each filtercriteria; and calculating an overall message score by combining theweighted percentages.
 28. A method for knowledge management, comprising:accessing a predetermined set of data targets; collecting data targetinformation from the data targets; generating a client profile from thedata target information; storing the profile on a client computer;accessing a web page; and scoring the web page with respect to theprofile.
 29. A method for knowledge management, comprising: accessing apredetermined set of data targets; collecting data target informationfrom the data targets; generating a client profile from the data targetinformation; storing the profile on a client computer; receiving ane-mail; and scoring the e-mail with respect to the profile.
 30. A methodfor knowledge management, comprising: accessing a predetermined set ofdata targets; collecting data target information from the data targets;generating a client profile from the data target information; storingthe profile on a client computer; opening a file; and scoring the filewith respect to the profile.
 31. A method for knowledge management,comprising: accessing a predetermined set of data targets; collectingdata target information from the data targets; generating a clientprofile from the data target information; storing the profile on aclient computer; receiving a message including filtering criteria; anddisplaying the message on the computer if the filtering criteria isfound within the profile.
 32. A method for knowledge management,comprising: generating a message; transmitting the message from asending client to a set of receiving clients; accessing a predeterminedset of data targets; collecting data target information from the datatargets; generating a receiving client profile from the data targetinformation; scoring the message with respect to the profile; anddisplaying the message on a receiving client's computer.
 33. A methodfor knowledge management, comprising: generating a message includingfiltering criteria; transmitting the message from a sending client to aset of receiving clients; accessing a predetermined set of data targets;collecting data target information from the data targets; generating areceiving client profile from the data target information; scoring themessage with respect to the profile; and displaying the message on thereceiving client's computer if the filtering criteria is found withinthe profile.
 34. A system for knowledge management, comprising: meansfor accessing a predetermined set of data targets; means for collectingdata target information from the data targets; means for generating aclient profile from the data target information; means for storing theprofile on a client computer; means for receiving a message; and meansfor scoring the message with respect to the profile.
 35. A system forknowledge management, comprising: means for accessing a predeterminedset of data targets; means for collecting data target information fromthe data targets; means for generating a client profile from the datatarget information; means for storing the profile on a client computer;means for receiving a message including filtering criteria; and meansfor displaying the message on the computer if the filtering criteria isfound within the profile.
 36. A system for knowledge management,comprising: means for generating a message; means for transmitting themessage from a sending client to a set of receiving clients; means foraccessing a predetermined set of data targets; means for collecting datatarget information from the data targets; means for generating areceiving client profile from the data target information; means forscoring the message with respect to the profile; and means fordisplaying the message on a receiving client's computer.
 37. A systemfor knowledge management, comprising: means for generating a messageincluding filtering criteria; means for transmitting the message from asending client to a set of receiving clients; means for accessing apredetermined set of data targets; means for collecting data targetinformation from the data targets; means for generating a receivingclient profile from the data target information; means for scoring themessage with respect to the profile; and means for displaying themessage on the receiving client's computer if the filtering criteria isfound within the profile.